home *** CD-ROM | disk | FTP | other *** search
- /*
- ** $VER: rtgmaster.h 1.013 (15 Jan 1998)
- */
-
- #ifndef RTGMASTER_H
- #define RTGMASTER_H TRUE
-
- #ifndef UTILITY_TAGITEM_H
- #include "utility/tagitem.h"
- #endif
-
- #ifndef EXEC_LIBRARIES_H
- #include "exec/libraries.h"
- #endif
-
- #ifndef EXEC_TYPES_H
- #include "exec/types.h"
- #endif
-
- #define smr_Dummy TAG_USER
- #define smr_MinWidth (smr_Dummy + 0x01)
-
- // [320] This tag sets the minimum width in
- // pixels which the user is allowed to select
-
- #define smr_MaxWidth (smr_Dummy + 0x02)
-
- // [2048] This tag sets the maximum width in
- // pixels which the user is allowed to select
-
- #define smr_MinHeight (smr_Dummy + 0x03)
-
- // [200] This tag sets the minimum height in
- // pixels which the user is allowed to select
-
- #define smr_MaxHeight (smr_Dummy + 0x04)
-
- // [2048] This tag sets the maximum height in
- // pixels which the user is allowed to select
-
- #define smr_PlanarRoundW (smr_Dummy + 0x05)
-
- // [16] RtgScreenModeReq will round user inputed
- // values for Width to nearest higher multiple
- // of thig tag for Planar display modes
-
- #define smr_PlanarRoundH (smr_Dummy + 0x06)
-
- // [1] RtgScreenModeReq will round user inputed
- // values for Height to nearest higher multiple
- // of thig tag for Planar display modes
-
- #define smr_ChunkyRoundW (smr_Dummy + 0x07)
-
- // [1] RtgScreenModeReq will round user inputed
- // values for Width to nearest higher multiple
- // of thig tag for Chunky display modes
-
- #define smr_ChunkyRoundH (smr_Dummy + 0x08)
-
- // [1] RtgScreenModeReq will round user inputed
- // values for Height to nearest higher multiple
- #define smr_ProgramUsesC2P (smr_Dummy + 0x0c)
-
- // [TRUE] If the program doesn't use the c2p call you have
- // to specify FALSE. In this case the c2p part of the
- // window is hidden and the the current c2p module is not
- // used when filtering the screen modes.
-
- // of thig tag for Chunky display modes
-
- #define smr_ChunkySupport (smr_Dummy + 0x09)
-
- // [0] This LONG is used to indicate which
- // Chunky modes the user is allowed to select.
- // A set bit means the mode is selectable.
- // See the rtg_ChunkySupport tag for more
- // information.
-
- #define smr_PlanarSupport (smr_Dummy + 0x0a)
-
- // EITEM smr_PlanarSupport ;[0] This LONG is used to indicate which
- // Planar modes the user is allowed to select.
- // A set bit means the mode is selectable.
- // See the rtg_PlanarSupport tag for more
- // information.
-
- #define smr_Buffers (smr_Dummy + 0x0b)
-
- // [1] Using this tag you're can specify
- // the number of buffers your application needs.
- // Usually this ranges from 1-3. Specify
- // it here to filter out ScreenModes which can't
- // handle the number of buffers you require.
-
- //*******
- // Attention: The following initial values are overwritten
- // by the saved preferences if a valid preferences file
- // is found.
-
- #define smr_InitialWidth (smr_Dummy + 0x10)
-
- // [320] Initial screen width
- // The minimal/maximal selectable width is taken into account.
-
- #define smr_InitialHeight (smr_Dummy + 0x11)
-
- // [200] Initial screen height
- // The minimal/maximal selectable height is taken into account.
-
- #define smr_InitialDepth (smr_Dummy + 0x12)
-
- // [8] Log2 number of colors
-
- #define smr_InitialScreenMode (smr_Dummy + 0x13)
-
- // [the first selectable screenmode]
- // Ptr to a string describing the ScreenMode
- // (this is essentially the string pointed to
- // by sm_Name)
-
- #define smr_InitialDefaultW (smr_Dummy + 0x14)
-
- // [TRUE] False if you don't want the Default
- // width gadget active.
-
- #define smr_InitialDefaultH (smr_Dummy + 0x15)
-
- // [TRUE] False if you don't want the Default
- // height gadget active.
-
- #define smr_PrefsFileName (smr_Dummy + 0x16)
-
- // ["RtgScreenMode.prefs"]
- // Specifies the file where the selected screenmode loaded from
- // and saved to. If you set this to NULL, the save gadget
- // is disabled and no screenmode is loaded at the beginning.
- // The window is certainly opened without pressing the shift
- // key then.
- // If a valid preferences file is found the "smr_Initial" tags
- // are ignored. It makes not much sense to specify inital values
- // without setting smr_PrefsFileName to NULL.
-
- #define smr_ForceOpen (smr_Dummy + 0x17)
-
- // [FALSE] If false, the screenmode requester reads the screenmode
- // from the file specified by smr_PrefsFileName and returns immediately.
- // The requester opens only in case of an error when reading the preferences
- // or when the user presses shift while the requester is called.
- // If true, the requester opens in any case and lets the user select a
- // new mode.
-
- #define smr_TitleText (smr_Dummy + 0x18)
-
- // ["RTG Screenmode Requester"] (STRPTR)
- // The title text of the window
-
- #define smr_WindowLeftEdge (smr_Dummy + 0x19)
-
- // [-1 (= centered)] The left edge of the requester window
- // The value -1 means that the window is centered horicontically.
-
- #define smr_WindowTopEdge (smr_Dummy + 0x1a)
-
- // [-1 (= centered)] The top edge of the requester window
- // The value -1 means that the window is centered vertically.
-
- #define smr_Screen (smr_Dummy + 0x1b)
-
- // [Default Pubscreen] (struct Screen *)
- // The (custom or public) screen on which the screenmode requester should
- // be opened
-
- #define smr_PubScreenName (smr_Dummy + 0x1c)
-
- // [NULL] (STRPTR)
- // The name of the public screen on which the screenmode
- // requester should be opened; if not found, the default
- // pubscreen is used.
-
- //----------------added on 27/10/97 by Wolfram---------------
-
- #define smr_MinPixelAspect (smr_Dummy + 0x1d)
-
- // [0] Minimal pixel aspect, defined as
- // (1 << 16) * pixel_height / pixel_width
- // see also: smr_PixelAspect_Proportional, _Wide and _High
-
- #define smr_MaxPixelAspect (smr_Dummy + 0x1e)
-
- // [ULONG_MAX] Maximal pixel aspect, defined as
- // (1 << 16) * pixel_height / pixel_width
-
- // End of RtgScreenModeReq() enumeration ***
-
-
- //**********************************************************************
- // Special values for smr_MinPixelAspect and smr_MaxPixelAspect:
- //
- // If you want to get only proportional screen modes with 20% variation,
- // you can set for example:
- //
- // smr_MinPixelAspect, smr_PixelAspect_Proportional * 8 / 10,
- // smr_MaxPixelAspect, smr_PixelAspect_Proportional * 12 / 10
- //
-
- #define smr_PixelAspect_Proportional (1 << 16)
- #define smr_PixelAspect_Wide (smr_PixelAspect_Proportional / 2)
- #define smr_PixelAspect_Narrow (smr_PixelAspect_Proportional * 2)
-
-
- // Execpt for the rb_LibBase structure this structure is private and for
- // the internal use of RtgMaster.library ONLY. This structure will change
- // in the future.
-
-
- struct RDCMPData
- {
- struct MsgPort *port;
- ULONG signal;
- WORD *MouseX;
- WORD *MouseY;
- };
-
- struct RTGMasterBase {
- struct Library base;
- WORD Pad;
- ULONG SegList;
- APTR DosBase;
- APTR ExecBase;
- APTR GadToolsBase;
- APTR GfxBase;
- APTR IntBase;
- APTR UtilityBase;
- BYTE Track[8];
- struct RtgLibs *Libraries;
- APTR FirstScreenMode;
- APTR LinkerDB;
- };
-
- // This structure is private and for the internal use of RtgMaster.library
- // ONLY. This structure will change in the future.
-
- struct RtgLibs {
- APTR Next;
- ULONG ID;
- APTR LibBase;
- APTR SMList;
- APTR LastSM;
- UWORD LibVersion;
- };
-
- struct RtgBobHandle
- {
- ULONG BufSize;
- struct RtgScreen *RtgScreen;
- APTR RefreshBuffer;
- ULONG BPR;
- ULONG Width;
- ULONG Height;
- UWORD numsprites;
- UWORD maxnum;
- ULONG reserved;
- };
-
- #endif
-
-